Enterprise Version
tied up to keep it practical